package com.bjb.vr.common.service;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.bjb.vr.common.ao.UmsAccountAo;
import com.bjb.vr.common.dto.SyncTenant;
import com.bjb.vr.common.mapper.SyncTenantMapper;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.Objects;

/**
 * @author admin
 * @description 针对表【sync_data(这个表用到云端服务，用于保存变更的SQL语句。本地服务不需要使用，此表也不会进行同步)】的数据库操作Service实现
 * @createDate 2022-07-26 13:18:12
 */
@Service
public class SyncTenantService extends ServiceImpl<SyncTenantMapper, SyncTenant> {

    @Resource
    private SyncTenantMapper syncTenantMapper;

    /**
     * 添加租户授权ID，用于数据同步
     *
     * @param umsAccountAo
     */
    public void addAuthTenant(UmsAccountAo umsAccountAo) {
        LambdaQueryWrapper<SyncTenant> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(StringUtils.isNotBlank(umsAccountAo.getTenantId()), SyncTenant::getTenantId, umsAccountAo.getTenantId());
        SyncTenant selectOne = syncTenantMapper.selectOne(queryWrapper);
        if (Objects.isNull(selectOne)) {
            SyncTenant syncTenant = new SyncTenant();
            syncTenant.setTenantId(umsAccountAo.getTenantId());
            syncTenantMapper.insert(syncTenant);
        }
    }
}




